#ifndef MAT_H
#define MAT_H

#include <QtGlobal>
#include "matwin_global.h"

class MATWINSHARED_EXPORT Mat
{
public:
    Mat(qint32 m, qint32 n, qreal size) : m_m(m), m_n(n), m_size(size) {}
    virtual ~Mat() {}

    inline qint32 m() const;
    inline qint32 n() const;

    inline qreal size() const;

    inline qreal width() const;
    inline qreal height() const;

private:
    qint32 m_m;
    qint32 m_n;
    qreal m_size;
};
Q_DECLARE_TYPEINFO(Mat, Q_MOVABLE_TYPE);

inline qint32 Mat::m() const { return m_m; }
inline qint32 Mat::n() const { return m_n; }

inline qreal Mat::size() const { return m_size; }

inline qreal Mat::width() const { return m_n*m_size; }
inline qreal Mat::height() const { return m_m*m_size; }

#endif // MAT_H
